cmake_minimum_required(VERSION 3.23)
project(C_Data_Structure)

set(CMAKE_CXX_STANDARD 14)

include_directories("Linear Structure/linear_list")


add_executable(sql_list "Linear Structure/linear_list/sq_list.cpp")
add_executable(sl_list "Linear Structure/linear_list/sl_list.cpp")
add_executable(cl_list "Linear Structure/linear_list/cl_list.cpp")
add_executable(sq_queue "Linear Structure/queue/sq_queue.cpp")
add_executable(sql_queue "Linear Structure/queue/sql_queue.cpp")
add_executable(c_queue "Linear Structure/queue/c_queue.cpp")
add_executable(cl_queue "Linear Structure/queue/cl_queue.cpp")
add_executable(sq_stack "Linear Structure/stack/sq_stack.cpp")
add_executable(sh_stack "Linear Structure/stack/sh_stack.cpp")
add_executable(sql_stack "Linear Structure/stack/sql_stack.cpp")
add_executable(de_queue "Linear Structure/queue/de_queue.cpp")

add_executable(b_tree "Non-linear Structure/tree/b_tree.cpp" "Non-linear Structure/tree/dj_set.h")
add_executable(hfm_tree "Non-linear Structure/tree/hfm_tree.cpp")
add_executable(tb_tree "Non-linear Structure/tree/tb_tree.cpp")
add_executable(dj_set "Non-linear Structure/tree/dj_set.cpp")
add_executable(bs_tree "Non-linear Structure/tree/bs_tree.cpp")
add_executable(avl_tree "Non-linear Structure/tree/avl_tree.cpp")
add_executable(bubble_sort Sort/bubble_sort.cpp)
add_executable(quick_sort Sort/quick_sort.cpp)
add_executable(insertion_sort Sort/insertion_sort.cpp)
add_executable(shell_sort Sort/shell_sort.cpp)
add_executable(selection_sort Sort/selection_sort.cpp)
add_executable(heap_sort Sort/heap_sort.cpp)
add_executable(merge_sort Sort/merge_sort.cpp)
add_executable(counting_sort Sort/counting_sort.cpp)
add_executable(bucket_sort Sort/bucket_sort.cpp)
add_executable(radix_sort Sort/radix_sort.cpp)
add_executable(binary_search Search/binary_search.cpp)